博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django 链接地址匹配流程
阅读量:4637 次
发布时间:2019-06-09

本文共 1485 字,大约阅读时间需要 4 分钟。

前提:

 

代码结构

 

 

步骤一:

下面为某个网页的链接地址

{% if latest_article_list %}    
{% else %}

No articles are available.

{% endif %}

其中的链接地址为:

步骤二: 点击链接后,进行URL匹配。 第一层 mysite中的url.py
urlpatterns = [    url(r'^admin/', include(admin.site.urls)),    url(r'^blog/',include('blog.urls'))]

第二层 blog中的url.py

urlpatterns = [    url(r'^$', views.index, name='index'),    url(r'^p/(?P
[0-9]+)/$', views.detail,name='detail')]

 

步骤三:

然后调用view.detail  (在view.py中)

def detail(request, article_id):    article = get_object_or_404(Article, pk=article_id)    return render(request, 'blog/p/detail.html', {
'article': article})

 

步骤四:

然后返回 目录 blog/p/detail.html

    
ARTICLE

{
{ article.title }}

{

{ article.content }}

根据article.id值在数据库中查找相应字段,填充article.title和article.content的具体值。

效果:

 

需要注意的是地址栏为:

而不是detail.html的目录

 

移除硬编码

 

html文件中的链接   {
{ article.title }}
blog中的url.py文件有name参数
urlpatterns = [    url(r'^$', views.index, name='index'),    url(r'^p/(?P
[0-9]+)/$', views.detail,name='detail')]
所以使用{% url %}标签,链接改为
{
{ article.title }}
处理多个项目出现相同的detail,使用命名空间

在mysite的url中设置

urlpatterns = [     url(r'^admin/', include(admin.site.urls)),     url(r'^blog/',include('blog.urls', namespace='blog')) ]
链接改为
{
{ article.title }}

 

转载于:https://www.cnblogs.com/hb91/p/5410660.html

你可能感兴趣的文章
测试用例编写(功能测试框架)
查看>>
问题解决 Visual Studio 2015 无法复制文件“D:\swapfile.sys”
查看>>
eclipse 关联 Maven本地仓库的配置
查看>>
注册表收藏夹路径
查看>>
移动端自动化测试环境搭建
查看>>
【小前端】float属性
查看>>
[Unity插件]Lua行为树(十):通用行为和通用条件节点
查看>>
类StringBuilder
查看>>
212. Word Search II
查看>>
218. The Skyline Problem
查看>>
centos 安装 maven
查看>>
整型与字节转换关系
查看>>
用户名判断(练习)
查看>>
VS2013+EF6.1+Mysql配置心路历程
查看>>
Windows IIS服务挂载NAS共享文件存储
查看>>
用户列表-投资记录sql
查看>>
Mac上搭建rtmp流媒体服务器(结合FFmpeg的使用)
查看>>
HTML5⑥
查看>>
将jar包安装到本地仓库
查看>>
2333
查看>>